class Solution {
public:
    int findLongestChain(vector<vector<int>>& p) {
        if(p.size()<2) return p.size();
        sort(p.begin(),p.end(),[&](vector<int> a,vector<int> b)
        {
            return a[0]<b[0];
        });
        int ret=0;
        vector<int> dp(p.size(),1);
        for(int i=1;i<p.size();++i)
        {   for(int j=0;j<i;++j)
            {
                if(p[j][1]<p[i][0])
                dp[i]=max(dp[i],dp[j]+1);
                ret=max(dp[i],ret);
            }
            
        }
        return ret;
    }
};
